The present disclosure relates generally to computer networks and, more particularly, to a techniques for generic discovery of a computer network.
The volume and rate at which hardware (e.g., computers, switches, routers and storage devices or systems) and software (e.g., user applications, application suites and environments such as order-entry and database management systems) are being deployed within business organizations is high and continues to grow. An essential aspect of managing this growth includes monitoring, controlling and documenting this deployment process to minimize potential outages, lower total operational costs, improve customer service and meet corporate compliance and security requirements. Knowledge of network topology or, more generally, information technology (“IT”) infrastructure topology also permits one to understand how various components deliver business services to end users. This, in turn, can lead to improved management and greater efficiency in the use of such resources.
The task of identifying hardware and software components coupled to a network is often referred to as “discovery.” It will be recognized that discovery can be a very complex operation—involving different types of hardware and software coupled via many different, and often unknown, network topologies. As used herein, the term “network” can mean a single network (local or wide area) or multiple separate networks coupled via any private (e.g., an intranet) or public (e.g., the Internet) network or any combination of private and public networks and using any suitable communications protocol and any media (e.g., wired or wireless). Illustrative communication protocols include, but are not limited to, Transport Control Protocol (“TCP”), Sequence Packet Exchange (“SPX”), User Datagram Protocol (“UDP”), Internet Protocol versions 4 or 6 (“IP” and “IPv6”) and Internet Control Message Protocol (“ICMP”). As used herein, the term “component” means any hardware device (e.g., a computer system, storage device or switch) or software application (e.g., a database application, enterprise resource planning system or operating system) that may be detected by a network or IT infrastructure discovery action.
In prior art discovery systems, components may be identified by active scanning and/or through the use of specific queries. While these types of exploration can identify some components, they are not able to identify components that do not respond to such actions. These actions also do not identify the operational relationship between various components. Thus, it would be beneficial to provide a mechanism to facilitate the processing of discovery information so as to more fully identify network components and the operational relationships that exist between them.